home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 441 / dlibs12 / perrorf.c < prev    next >
C/C++ Source or Header  |  1990-11-23  |  560b  |  32 lines

  1. /*
  2.  * extended (formatted) error print function
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <errno.h>
  7. #include <stdarg.h>
  8.  
  9. extern    char    **_argv;
  10.  
  11. void perrorf(fmt)
  12.     char *fmt;
  13.     {
  14.     register char *progname = _argv[0];
  15.     char pbuf[10];
  16.     register char *msg;
  17.     va_list argp;
  18.  
  19.     _splitpath(progname, NULL, NULL, pbuf, NULL);
  20.     fprintf(stderr, "%s: ", pbuf);
  21.     if(fmt && *fmt)
  22.         {
  23.         va_start(argp, fmt);
  24.         vfprintf(stderr, fmt, argp);
  25.         va_end(argp);
  26.         fputs(": ", stderr);
  27.         }
  28.     if(msg = strerror(errno))
  29.         fputs(msg, stderr);
  30.     fputs(".\n", stderr);
  31.     }
  32.